# (c) Copyright 2008 Paul Hankin. All Rights Reserved. 

# Some annotated test data for testing jellyfish match io.

Diablo_info = {
    'length' : 3,
    'games' : 3,
    'scores' : [2, -2, 1]
}
Diablo_match = """\
 3 point match

 Game 1
 Diablo : 0                     You : 0
  1)                             43: 13/9 24/21
  2) 16: 13/7 8/7                15: 21/16 16/15
  3) 56: 13/7 13/8               11: 6/5 6/5 15/14 14/13
  4) 55: 6/1 6/1 8/3 8/3         13: 
  5) 61: 24/18 8/7               14: 25/21 8/7
  6) 66:                         46: 13/7 13/9
  7) 32: 25/22 24/22              Doubles => 2
  8)  Takes                      11: 5/4 5/4 6/5 5/4
  9) 36: 13/7 7/4                33: 
 10) 25: 13/8 6/4                55: 25/20 20/15 13/8 15/10
 11) 61: 8/2 7/6                 66: 13/7 13/7 7/1 7/1
 12) 63: 7/1 6/3                 34: 10/6 4/1
 13) 62: 22/20 20/14             62: 9/3 3/1
 14) 45: 25/20 20/16             31: 
 15) 14: 16/12 3/2               12: 
 16) 51: 14/9 9/8                44: 
 17) 41: 12/8 7/6                61: 
 18) 23: 8/5 7/5                 62: 
 19) 43: 8/4 6/3                 44: 
 20) 42: 6/2 6/4                 11: 
 21) 66: 5/0 5/0 4/0 4/0         22: 
 22) 36: 4/0 4/1                 43: 25/21 21/18
 23) 65: 3/0 3/0                 44: 18/14 14/10 10/6 8/4
 24) 51: 3/0 1/0                 62: 8/2 7/5
 25) 41: 2/0 1/0                 55: 8/3 7/2 5/0 6/1
 Wins 2 points

 Game 2
 Diablo : 2                     You : 0
  1)                             63: 24/18 13/10
  2) 46: 8/2 6/2                 63: 24/18 13/10
  3) 34: 13/9 9/6                14: 13/9 10/9
  4) 52: 13/8 8/6                32: 10/7 9/7
  5) 12: 6/4 6/5                 11: 6/5 6/5 9/8 8/7
  6) 42: 6/2 6/4                 23: 7/4 6/4
  7) 56: 8/2 8/3                 32: 18/15 15/13
  8) 45: 13/8 8/4                66: 8/2 8/2 8/2 13/7
  9) 64: 13/7 7/3                26: 
 10) 36: 5/2 13/7                46: 
 11) 14: 7/3 4/3                 12: 25/24 7/5
 12) 53: 6/1 6/3                 36: 25/19 13/10
 13) 36: 4/1                     11: 10/9 19/18 18/17 17/16
 14) 55:                         24: 13/9 5/3
 15) 63: 4/1                     15: 9/4 4/3
 16) 16: 2/1                     32: 9/6 16/14
 17) 45:                         14: 14/10 10/9
 18) 66:                         42: 9/5 6/4
 19) 24: 3/1                     22: 7/5 7/5 5/3 2/0
 20) 22: 3/1 3/1 3/1 3/1         64: 6/0 6/2
 21) 62: 24/18 18/16             22: 5/3 3/1 3/1 5/3
 22) 43:                         14: 5/1 5/4
 23) 44:                         54: 4/0 4/0
 24) 14:                         31: 3/0 1/0
 25) 44:                         22: 4/2 4/2 2/0 2/0
 26) 25: 25/20 20/18             41: 3/0 1/0
 27) 44: 16/12 18/14 14/10 12/8  23: 3/0 2/0
 28) 13: 10/7 8/7                16: 2/0 1/0
 29) 65: 7/2 7/1                 33: 2/0
                                  Wins 2 points

 Game 3
 Diablo : 2                     You : 2
  1) 45: 13/8 13/9               32: 24/21 13/11
  2) 41: 13/9 24/23              45: 24/20 20/15
  3) 56: 8/2 8/3                 33: 21/18 18/15 6/3 6/3
  4) 23: 24/21 23/21             14: 11/7 8/7
  5) 52: 6/1 3/1                 56: 13/7 13/8
  6) 56: 13/7 13/8               26: 15/9 9/7
  7) 51: 7/2 6/5                 25: 15/10 10/8
  8) 43: 9/5 8/5                 13: 8/5 6/5
  9) 66: 21/15 21/15 15/9 15/9   42: 8/4 8/6
 10) 14: 9/5 5/4                 42: 8/4 7/5
 11) 16: 8/2 8/7                 45: 13/8 8/4
 12) 65: 9/3 9/4                 42: 13/9 7/5
 13) 32: 7/4 2/0                 16: 9/3 7/6
 14) 56: 6/0 5/0                 54: 7/2 4/0
 15) 24: 4/0 2/0                 22: 4/2 2/0 2/0 6/4
 16) 64: 6/0 4/0                 65: 6/0 5/0
 17) 31: 3/0 1/0                 45: 5/0 4/0
 18) 52: 5/0 2/0                 15: 5/0 3/2
 19) 46: 6/0 4/0                 44: 6/2 6/2 5/1 4/0
 20) 16: 5/0 1/0                 
 Wins 1 point and the match
"""

npolish_info = {
    'length' : 1,
    'games' : 1,
    'scores' : [-1]
}
npolish_match="""\
 1 point match

 Game 1
 npolish : 0                    You : 0
  1)                             31: 8/5 6/5
  2) 36: 24/18 13/10             31: 8/7 24/21
  3) 54: 25/21 21/16             42: 13/9 9/7
  4) 16: 25/24 10/4              35: 25/20 24/21
  5) 12: 25/23 24/23             14: 13/9 9/8
  6) 41: 13/9 9/8                22: 6/4 6/4 20/18 18/16
  7) 51: 24/23 8/3               26: 21/15 15/13
  8) 26: 13/7 6/4                33: 16/13 13/10 13/10 10/7
  9) 52: 8/3 6/4                 44: 13/9 13/9 13/9 10/6
 10) 13: 8/5 6/5                 14: 9/5 5/4
 11) 53: 13/8 13/10              41: 7/3 4/3
 12) 34: 8/4 4/1                 56: 9/3 9/4
 13) 31: 10/7 8/7                61: 7/1 7/6
 14) 64: 7/1 7/3                 21: 3/1 6/5
 15) 42: 7/3 3/1                 13: 6/3 4/3
 16) 15: 23/18 3/2               63: 8/5
 17) 22: 18/16 16/14 14/12 12/10 45: 8/4 5/0
 18) 44: 10/6 6/2 6/2 6/2        62: 6/0 6/4
 19) 65: 23/17 17/12             26: 5/0 3/1
 20) 62: 12/6 6/4                22: 4/2 4/2 5/3 5/3
 21) 45: 25/20 20/16             35: 4/0 3/0
 22) 64: 16/10 10/6              33: 3/0 3/0 3/0 3/0
 23) 63: 6/0 3/0                 33: 4/1 2/0 2/0 1/0
 24) 32:                          Wins 1 point and the match
"""
pth_info = {
    'length' : 3,
    'games' : 2,
    'scores' : [-1, -12]
}
pth_match="""\
 3 point match

 Game 1
 pth : 0                        You : 0
  1)                             41: 13/9 24/23
  2) 22: 24/22 24/22 22/20 22/20 12: 9/7 8/7
  3) 13: 8/5 6/5                 66: 13/7 13/7 7/1 7/1
  4) 52: 13/8 13/11              16: 23/22 22/16
  5) 33: 6/3 6/3 11/8 8/5        63: 16/10 10/7
  6) 26: 13/7 7/5                53: 24/21 21/16
  7) 25: 8/3 8/6                 45: 16/11 11/7
  8) 23: 8/5 13/11                Doubles => 2
  9)  Drops                       Wins 1 point

 Game 2
 pth : 0                        You : 1
  1) 25: 13/8 13/11              62: 24/18 13/11
  2) 64: 13/7 11/7               36: 25/22 22/16
  3) 41: 13/9 8/7                36: 25/22 22/16
  4) 13: 25/24 13/10             34: 16/12 24/21
  5) 54: 24/20 10/5              35: 21/16 11/8
  6) 52: 20/15 15/13             11: 25/24 13/12 6/5 6/5
  7) 65:                          Doubles => 2
  8)  Takes                      21: 24/22 22/21
  9)  Doubles => 4                Takes
 10) 45: 25/21 8/3               54: 8/4 21/16
 11) 34: 25/21 6/3               43: 25/21 8/5
 12) 45: 7/2 6/2                 34: 8/4 13/10
 13) 31: 25/22 22/21             53: 25/20 13/10
 14) 55:                         36: 10/4 13/10
 15) 56:                         22: 6/4 8/6 10/8 10/8
 16) 43: 25/22                   11: 4/3 4/3 21/20 8/7
 17) 13: 25/24                   12: 6/4 5/4
 18) 45:                         45: 12/7 16/12
 19) 23: 25/23 6/3               61: 8/2 16/15
 20) 12: 25/23 24/23             52: 25/20 15/13
 21) 42: 6/2 6/4                 66: 20/14 20/14 14/8 14/8
 22) 52: 8/3 8/6                 32: 13/10 10/8
 23) 41: 6/2 2/1                 61: 12/6 6/5
 24) 43: 7/3 7/4                 14: 20/16 16/15
 25) 25: 3/1                     32: 15/12 12/10
 26) 66:                         52: 10/5 5/3
 27) 44:                         51: 8/3 5/4
 28) 12: 3/1 3/2                 54: 8/3 8/4
 29) 51: 2/1                     43: 7/3 7/4
 30) 61: 23/17 17/16             61: 6/0 6/5
 31) 42: 16/12 12/10             55: 5/0 5/0 5/0 4/0
 32) 25: 10/5 5/3                62: 4/2 4/0
 33) 36: 25/19 19/16             44: 4/0 4/0 3/0 3/0
 34) 25: 16/11 11/9              32: 2/0 3/0
 35) 51: 9/4 4/3                 32: 3/0
 36) 51: 24/19 19/18             65: 3/0 3/0
                                  Wins 12 points and the match
"""

soprano_info = {
    'length' : 5,
    'games' : 6,
    'scores' : [-1, -1, -1, 1, -1, -3]
}
soprano_match="""\
 5 point match

 Game 1
soprano : 0                     You : 0
  1)                             41: 13/9 24/23
  2) 12: 13/11 24/23             26: 13/7 9/7
  3) 23: 24/21 23/21             63: 23/20 20/14
  4) 15: 25/20 21/20             12: 14/13 24/22
  5) 21: 21/20 13/11             25: 22/20 20/15
  6) 35: 13/10 11/6              24: 25/21 6/4
  7) 32: 13/10 13/11             53: 21/16 16/13
  8) 24: 8/4 6/4                  Doubles => 2
  9)  Drops                       Wins 1 point

 Game 2
soprano : 0                     You : 1
  1) 26: 24/18 18/16             41: 13/9 24/23
  2) 53: 25/20 13/10             31: 8/5 6/5
  3) 62: 25/23 10/4               Doubles => 2
  4)  Drops                       Wins 1 point

 Game 3
soprano : 0                     You : 2
  1) 24: 8/4 6/4                 52: 24/22 13/8
  2) 24: 13/11 24/20             44: 22/18 18/14 13/9 9/5
  3) 12: 25/23 25/24             11: 6/5 8/7 8/7 14/13
  4) 54: 13/8 8/4                 Doubles => 2
  5)  Drops                       Wins 1 point

 Game 4
soprano : 0                     You : 3
  1) 12: 13/11 24/23             51: 13/8 24/23
  2) 42: 8/4 6/4                 43: 24/20 23/20
  3) 63: 11/8 24/18              36: 13/7 13/10
  4) 33: 25/22 13/10 13/10 6/3   23: 8/5 7/5
  5) 46: 8/2 6/2                 23: 13/10 13/11
  6) 21: 23/21 22/21             13: 11/8 6/5
  7) 65: 8/2 8/3                 31: 8/5 6/5
  8) 14: 10/6 10/9               31: 20/17 17/16
  9) 22: 25/23 13/11 11/9 23/21  26: 
 10)  Doubles => 2                Drops
 Wins 1 point

 Game 5
soprano : 1                     You : 3
  1) 24: 8/4 6/4                 46: 24/18 13/9
  2) 62: 13/7 13/11              16: 25/24 24/18
  3) 12: 25/24 13/11             15: 24/23 23/18
  4) 42: 24/20 6/4               11: 6/5 6/5 8/7 8/7
  5) 42: 25/21 6/4               52: 9/4 6/4
  6) 52: 25/23 8/3               33: 8/5 5/2 13/10 13/10
  7) 36: 25/22 8/2               53: 10/5 5/2
  8) 14: 6/2 4/3                 25: 10/5 5/3
  9) 35: 25/22 11/6              25: 25/20 20/18
 10) 42: 11/9 9/5                23: 18/15 15/13
 11) 22: 24/22 24/22 5/3 4/2     22: 13/11 13/11 11/9 11/9
 12) 42: 6/2 3/1                 63: 13/7 7/4
 13) 14: 2/1 6/2                 35: 18/13 13/10
 14) 22: 13/11 11/9 9/7 13/11    22: 
 15) 32: 7/4 4/2                 44: 
 16) 33: 11/8 8/5 5/2 4/1        26: 25/19 10/8
 17) 23: 4/1 3/1                 41: 19/15 15/14
 18) 64:                         64: 14/8 9/5
 19) 32: 3/1                     13: 9/6 2/1
 20) 26: 22/16 16/14              Doubles => 2
 21)  Drops                       Wins 1 point

 Game 6
soprano : 1                     You : 4
  1)                             21: 13/11 24/23
  2) 51: 13/8 24/23              55: 6/1 6/1 8/3 8/3
  3) 42: 25/21 23/21             46: 13/7 11/7
  4) 55: 21/16 21/16 16/11 16/11 15: 13/8 23/22
  5) 65: 13/7 7/2                21: 24/23 23/21
  6) 46: 25/21 21/15             34: 13/10 13/9
  7) 41: 25/21 13/12             62: 10/4 6/4
  8) 22: 25/23 6/4 6/4 8/6       51: 25/24 7/2
  9) 51: 25/20 12/11             41: 9/5 5/4
 10) 43:                         42: 22/18 4/2
 11) 31:                         53: 18/13 13/10
 12) 13:                         61: 7/6 24/18
 13) 12:                         36: 18/15 15/9
 14) 32:                         14: 9/5 6/5
 15) 16:                         25:  Wins 3 points and the match
"""
FlorianGeyer_match_bad = '''\
 1 point match

 Game 1
 FlorianGeyer : 0               You : 0
  1)                             51: 13/8 24/23
  2) 61: 13/7 8/7                56: 13/7 7/2
  3) 36: 24/21 21/15             12: 13/11 11/10
  4) 35: 25/22 13/8              52: 8/3 3/1
  5) 54: 25/21 25/20             43: 24/20 23/20
  6) 44: 8/4 8/4 6/2 6/2         35: 10/7 7/2
  7) 64: 21/15 20/16             43: 13/9 20/17
  8) 54: 25/21 25/20             55: 6/1 20/15 15/10 10/5
  9) 61:                         23: 8/5 6/4
 10) 54: 25/21                   52: 25/20 6/4
 11) 36: 25/22                   15: 8/3 4/3
 12) 34: 25/21                   21: 13/11 11/10
 13) 65:                         16: 10/4 4/3
 14) 22:                         56: 20/15 17/11
 15) 13:                         65: 15/10 11/5
 16) 24: 25/21                   12: 5/4 4/2
 17) 56:                         54: 9/4 8/4
 18) 35:                         24: 6/2 6/4
 19) 64: 25/19                   36: 10/4 3/0
 20) 22:                         31: 5/2 5/4
 22) 63: 20/14 19/16             54: 4/0 4/0
 23) 44:                          Wins 1 point and the match
'''
